chore: add Apache-2.0 and NOTICE, retire the docs that outlived their tools - #19
Merged
Merged
Conversation
…heir tools The repository had no LICENSE at all, which in a public repository means "all rights reserved": nobody could legally fork, modify or `go get` a module whose path is already github.com/MaimoryLab/OneAgent. Apache-2.0 was chosen for its explicit patent grant and trademark clause. NOTICE is the other half. distribution-compliance-policy.md has always required a third-party licence manifest as a release precondition, but the tool that generated it (cmd/oneagent-release) was removed in 23805b0, so the obligation had no implementation. Every entry is read from disk rather than assumed: the five Go modules actually linked into the desktop binary via `go list -deps`, the five npm packages in the bundle, and the two runtimes from runtimes.lock.json. The trademark section covers the eight Agent marks in frontend/src/components/icons/assets, which agents.tsx already documents as nominative use. Three documents are removed rather than edited. agent-installer-target-versions.md was internal strategy -- four unpublished conversion targets, SSO and unified billing plans, and a hosted model gateway that product-boundary-baseline.md explicitly lists as out of scope, so publishing both would have promised and denied the same thing. The two concept documents were generation logs: one carried a private image-proxy endpoint, and between them seventeen image links point into the gitignored output/ directory, so they would have rendered as broken images to any reader. Twelve documents cited cmd/oneagent-release, cmd/oneagent-rc or cmd/oneagent-provider-smoke, none of which exist. Removing them was deliberate -- 23805b0 replaced them with build-artifacts.yml -- so the docs are corrected rather than the tools restored. README and CLAUDE.md now describe the workflow that runs; historical documents keep their conclusions and gain a note saying the commands are background. Their command blocks are retagged from `bash` to `text`, because a header note does not stop someone scrolling to a shell block and running it. README also loses `task test:native`, a target no Taskfile defines. Two ADRs both claimed number 006. The public-site one becomes ADR-009, since ADR-008's Supersedes line refers to the multi-profile one; ADR-006 now says on its first line that its credential half is superseded, which previously appeared only sixty lines down. frontend/dist/.keep is restored: de3ed69 deleted it again, which re-broke `go vet` on a fresh clone in exactly the way #16 fixed. The cc-switch notes keep their findings but drop two conclusions that read as disparaging a named individual's project; both are rewritten as the methodological point they were actually making. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
yujiezhang-ops
force-pushed
the
chore/license-and-doc-hygiene
branch
from
August 4, 2026 12:00
4320f38 to
14d1586
Compare
Collaborator
Author
|
CI 第一次跑失败,原因值得记一下: 不是本 PR 的改动引起的—— 我第一次恢复它时踩了同一个坑:先 这个文件很容易被反复误删(它是空文件、目录里其他内容都被忽略)。要更稳的话,可以在 CI 里加一条断言 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
处理上一轮文档审查的全部发现。四个决策点已确认:Apache-2.0、删除战略文档、删除两份 concept、文档改写指向 CI。
LICENSE + NOTICE
此前完全没有许可证文件。公开仓库里这等于「保留所有权利」——没人能合法 fork、修改,或
go get一个 module path 已经是github.com/MaimoryLab/OneAgent的仓库。选 Apache-2.0 是因为它有明确的专利授权和商标条款。NOTICE是另一半。docs/distribution-compliance-policy.md:30一直把第三方许可清单列为发布前置条件,但生成它的cmd/oneagent-release已在23805b0移除,义务因此没有实现手段。每一条都是从磁盘读出来核对的,不是推断:
go list -deps -tags wails ./cmd/oneagent-desktop取真正链进二进制的 5 个,逐个读 LICENSE 头确认类型(其中go-isatty是 MIT、golang.org/x/sys是 BSD-3-Clause——这两个的 LICENSE 首行不写许可名,得看正文)node_modules里各自package.json的实际版本与 license(lucide-react是 ISC 而非 MIT)runtimes.lock.json对齐,并明确区分「随包分发」与「运行时下载、不再分发」——Node.js、uv 和 Agent 包属于后者,其中@anthropic-ai/claude-code是 Proprietary,只在用户明确请求时安装agents.tsx已记录的 nominative use 立场frontend/package.json补上缺失的license字段。删除三份文档
docs/agent-installer-target-versions.md—— 内部战略:4 个未公开转化率 KPI、SSO/统一账单规划、以及一个托管模型网关,而product-boundary-baseline.md:107明确把统一网关列为不做。同时公开两者等于既承诺又否认同一件事。两份 concept 文档 —— 生成过程记录:一份含私有图像代理端点,两份合计 17 个图片链接全部指向 gitignore 的
output/,公开后读者只会看到 17 张破图。视觉决策已经落地在frontend/里。12 个文档的死命令
删除是刻意的(
23805b0用build-artifacts.yml替代),所以改文档而不是恢复工具。README 和 CLAUDE.md 改成描述实际存在的 workflow;历史文档保留原有结论、加注说明命令只是背景。
一个额外处理:把这些历史文档里的命令块从
```bash改成```text。仅在文件头加注是不够的——读者滚到一个 shell 代码块,是会直接点运行的。README 另外删掉
task test:native,任何 Taskfile 都没有这个 target(只有test:go和test:e2e)。ADR 撞号
两份都自称 ADR-006。公开站那份改为 ADR-009,因为
ADR-008:11的 Supersedes 指向的是「多 Profile」那一份(我核对过:凭据方案只在多 Profile 那份里)。ADR-006 现在第一行就说明凭据部分已被 ADR-008 取代——此前这句话在第 69 行。一处修正:我上轮报告说「ADR-001 到 006 没有 Status 行」是错的。它们有
## Status段落,只是用标题而非行内格式,值分别是 Accepted / Implemented。所以这一项不需要修,我没有去「修」一个不存在的问题。顺带修回一个回归
frontend/dist/.keep被de3ed69又删掉了,全新克隆上go vet因此再次失败于pattern all:frontend/dist: no matching files found——正是 #16 修过的问题。看起来是本地rm -rf frontend/dist后git add -A带走的。已恢复。cc-switch 笔记
保留全部技术结论,但把两处对具名个人项目的贬义判断(
:79「容易让人误解形象」、:90「装了没用」)改写为它们实际要表达的方法论要点。许可风险本来就低(MIT、已署名、片段简短),这里处理的是社区关系。验证
go vet ./...无输出、go test -race ./...全过、前端pnpm run build通过、pnpm run test159/159。所有相对文档链接解析正常,无残留死链。需要你知道的一点
git 历史里仍能翻出已删除的内容。 公开后
git log -p可以看到agent-installer-target-versions.md的全文和那个私有端点。彻底移除需要改写历史(git filter-repo+ force-push),会影响所有协作者的本地仓库,所以我没有擅自做。如果那份战略文档的 KPI 和托管网关规划敏感到不能被翻出来,公开之前需要单独处理这件事。我可以在你确认后执行。
🤖 Generated with Claude Code